using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using BerkoRules.Entities;
using BerkoRules.Mappers;
using Microsoft.VisualBasic.CompilerServices;

namespace Berko
{
    public partial class frmRpt_X_ClienteSeguimiento : Form
    {
        public frmRpt_X_ClienteSeguimiento()
        {
            InitializeComponent();
        }

        private void cmdBuscar_Click(object sender, EventArgs e)
        {
            ClientesList clientes = Traer_Clientes();
            dgClientes.AutoGenerateColumns = false;
            dgClientes.DataSource = clientes;
            
        }

        private ClientesList Traer_Clientes()
        {
            ClientesList clientes = new ClientesList();
            try
            {
                clientes = ClientesMapper.Instance().Traer_X_Seguimiento(txtCliente.Text, txtNombreFiscal.Text, chkSeguimiento.Checked);
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                MessageBox.Show("No se pudieron traer los clientes", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                ProjectData.ClearProjectError();
            }
            return clientes;
        }

        private void dgClientes_RowHeaderMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            try
            {
                int idCliente;
                idCliente = (int)dgClientes.Rows[e.RowIndex].Cells[0].Value;
                frmClientes formCliente = new frmClientes();
                formCliente.CargarTodos = false;
                formCliente.Show();
                formCliente.CargarDesdeID(idCliente);
            }
            catch (Exception ex)
            {
                throw;
            }
        }

        private void eliminarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.dgClientes.SelectedRows.Count > 0)
                {
                    if (MessageBox.Show("Desea eliminar el cliente Nro: " + this.dgClientes.SelectedRows[0].Cells[0].Value + " seleccionado?", "Eliminar", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning) == DialogResult.Yes)
                    {
                        ClientesMapper.Instance().Delete((int)this.dgClientes.SelectedRows[0].Cells[0].Value);
                        this.cmdBuscar_Click(sender, e);
                    }
                }
                else
                {
                    MessageBox.Show("No hay seleccionado ningun elemeno para la accion que intenta realizar.", "Eliminar", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            catch (Exception exception1)
            {
                Exception exception = exception1;
                MessageBox.Show("No se pudo eliminar el cliente. Aseg\x00farese de que el cliente no haya sido usado", "Eliminar cliente", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                return;
            }
        }

    }
}